package com.feiyisys.service;

import com.feiyisys.entity.Feedback;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.feiyisys.dto.FeedbackQueryDTO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * <p>
 * 用户反馈表 服务类
 * </p>
 *
 * @author system
 * @since 2025-10-14
 */
public interface FeedbackService extends IService<Feedback> {

    /**
     * 提交用户反馈，支持图片上传
     */
    boolean submitFeedback(Feedback feedback) throws IOException;

    /**
     * 获取用户的反馈列表，支持分页和标题搜索
     */
    IPage<Feedback> getUserFeedbacks(FeedbackQueryDTO queryDTO);

    /**
     * 管理员获取所有反馈，支持分页、标题搜索和状态筛选
     */
    IPage<Feedback> getAllFeedbacks(FeedbackQueryDTO queryDTO);

    /**
     * 回复用户反馈
     */
    boolean replyFeedback(Long feedbackId, String replyContent);

    /**
     * 更新反馈状态
     */
    boolean updateFeedbackStatus(Long feedbackId, Byte status);

    /**
     * 删除反馈
     */
    boolean deleteFeedback(Long feedbackId, Long userId);

    /**
     * 编辑反馈
     */
    boolean updateFeedback(Feedback feedback);
}
